﻿//
// 请注意：bbsmax 不是一个免费产品，源代码仅限用于学习，禁止用于商业站点或者其他商业用途
// 如果您要将bbsmax用于商业用途，需要从官方购买商业授权，得到授权后可以基于源代码二次开发
//
// 版权所有 厦门麦斯网络科技有限公司
// 公司网站 www.bbsmax.com
//

using System;
using System.Text;
using System.Collections.Generic;


using MaxLabs.bbsMax.DataAccess;
using MaxLabs.bbsMax.Entities;

namespace MaxLabs.bbsMax
{
    public class AppManager
    {

        private static AppBaseCollection apps = new AppBaseCollection();
        private static object addAppLocker = new object();

        public static AppBaseCollection GetAllApps()
        {
            return apps;
        }

        public static void RegisterApp(AppBase app)
        {
            lock (addAppLocker)
            {
                if(apps.GetValue(app.AppID)==null)  
                    apps.Add(app);
            }
        }

        public static AppBase GetApp(Guid appID)
        {
            return apps.GetValue(appID);
        }

        public static AppBaseCollection GetApps(IEnumerable<Guid> appIDs)
        {
            AppBaseCollection tempApps = new AppBaseCollection();
            foreach (Guid appID in appIDs)
            {
                AppBase app = GetApp(appID);
                if (app != null)
                    tempApps.Add(app);
            }
            return tempApps;
        }

    }
}